import { router } from '@/router';
import storage from '@/model/storage';
import wx from 'weixin-jsapi';
import { getWxConfig } from '@/model/api';
import { appId } from '@/util';
var iceFox = {
    install(Vue){
       this.loadMixin(Vue);
       this.loadDirective(Vue);
    },
    loadMixin(Vue){
        var mixin = {
            data(){
                return {
                    lang:1,
                }
            },
            methods:{
                back(){
                    var currentPaths = storage.sessionGet('historyList') || [];
                    if(currentPaths.length == 1){
                        this.$router.push({name:"tabmain"})
                    }else{
                        router.go("-1");
                    }
                },
                backHome(){
                    router.replace("/tabmain");
				},
				//注入微信JSSDK配置
				getConfig(jsApiList){
					getWxConfig({url:"http://syb.longxiaokj.com/"}).then( res => {
						if(res.code == 1){
							wx.config({
								debug: process.env.NODE_ENV === 'production' ? false : true,//这里一般在测试阶段先用ture，等打包给后台的时候就改回false,
								appId: appId,
								timestamp: res.data.timestamp, 
								nonceStr: res.data.nonceStr, 
								signature: res.data.signature,
								jsApiList: jsApiList,
							})
						}
					});
				}
            },
            created() {},
        }
        Vue.mixin(mixin);
    },
    //加载自定义指令
	loadDirective:function(Vue){
        Vue.directive('longpress', {
			bind: function(el, binding, vNode) {
			  // 运行函数
			  var handler = function(e){
				// 执行传递给指令的方法
				binding.value(e)
			  }
			  // 定义变量
			  var pressTimer = null
			  // 定义函数处理程序
			  // 创建计时器（ 1秒后执行函数 ）
			  var start = function(e){
				if (e.type === 'click' && e.button !== 0) {
				  return
				}
				if (pressTimer === null) {
				  pressTimer = setTimeout(function(){
					// 执行函数
					handler(el.dataset)
				  }, 1400)
				}
			  }
			  // 取消计时器
			  var cancel = function(e){
				// 检查计时器是否有值
				if (pressTimer !== null) {
				  clearTimeout(pressTimer)
				  pressTimer = null
				}
			  }
			  // 添加事件监听器
			  el.addEventListener('touchstart', start)
			  // 取消计时器
			  el.addEventListener('click', cancel)
			  el.addEventListener('touchend', cancel)
			  el.addEventListener('touchcancel', cancel)
			}
		  })
	},
}
export default iceFox;